/*

* Copyright (C) 2023, KylinSoft Co., Ltd.

*

* This program is free software; you can redistribute it and/or modify

* it under the terms of the GNU General Public License as published by

* the Free Software Foundation; either version 3, or (at your option)

* any later version.

*

* This program is distributed in the hope that it will be useful,

* but WITHOUT ANY WARRANTY; without even the implied warranty of

* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

* GNU General Public License for more details.

*

* You should have received a copy of the GNU General Public License

* along with this program; if not, see <http://www.gnu.org/licenses/&gt;.

*

*/



#ifndef POWERCONFIG_H
#define POWERCONFIG_H

#include "../common/common.h"
#include <QSettings>
#include <QFile>

#define POWER_MANAGER_CONF_PATH "/etc/power/power-manager.conf"

class PowerConfig : public QObject
{
    Q_OBJECT
public:
    explicit PowerConfig(QObject *parent = Q_NULLPTR);
    ~PowerConfig();
    void updateConfData(const QString &key, const QVariant &value);
    void initBrightness(const int brightness);
private:
    void initPowerConfig();
    void vendorSpecialTreatment();
    QString getProduct();
    int getManufacturer();
    int vendorTypeMatch(const QString &type);
    bool isNeedConfig();

    QPointer<QSettings> m_settings;
    enum Vendor
    {
        UnKnown = 0,
        Greatwall,
    };
};

#endif // POWERCONFIG_H
